package com.wizards.mtg.set.returntoravnica;

import static com.wizards.mtg.card.Color.WHITE;

import com.wizards.mtg.Card;
import com.wizards.mtg.card.Subtype;
import com.wizards.mtg.card.Type;
import com.wizards.mtg.mana.Mana;

public class ArmoryGuard extends Card
{
	public ArmoryGuard() {
		super("Armory Guard", Type.CREATURE, Subtype.GIANT, Subtype.SOLDIER);			
		setManaCost(new Mana(3), new Mana(WHITE));
		setPower(2);
		setToughness(5);
		
		// Armory Guard has vigilance as long as you control a Gate.
		
		// When Armory Guard enters the battlefield [EnterBattlefieldEvent(permanent, controller)]: 
		//   - check for Gate in battlefield controlled by Armory Guard controller 
		//   - if exists, add Vigilance to Armory Guard
		
		// While Armory Guard is on the battlefield: 
		//   - whenever a card enters the battlefield under the Armory Guard controller's control, check its subtypes [EnterBattlefieldEvent(permanent, controller)]
		//   - if one of them is Gate, add Vigilance to Armory Guard
		//
		//   - whenever a card under the Armory Guard controller's control leaves the battlefield, check subtypes of remaining cards on battlefield [LeaveBattlefieldEvent(permanent, controller)]
		//   - if none of them are Gates, remove Vigilance from Armory Guard
	}
}